The present invention related to data processing apparatus, data processing systems, and data processing methods used for trial-and-error calculation, simulation calculation during data write, and the like, and recording media storing processing steps for executing such calculation so as to allow a computer to read them out.
Conventionally, trial-and-error calculation, simulation calculation during data write, and the like are often adopted for risk evaluation processing of the financial business and market in the business fields and for simulations and planning of the circulation, physical distribution, and process control in the industrial fields.
However, when many clients (users) execute such calculation and simulation using data in a database (DB) whose data are frequently written (in this case, process control or the like is simulated for descriptive convenience), one client uses data while the remaining clients cannot use them, in order to ensure data consistency in the DB.
To solve this problem, a data processing system 500 shown in FIG. 1 has been proposed.
In this data processing system 500, as shown in FIG. 1, copies (DB copies) 510′ (C1), 510′ (C2), 510′ (C3), . . . of the data in a DB 510′ are respectively set for clients C1, C2, C3, . . . who perform simulations. Also, processing programs (simulation programs) 520 (C1), 520 (C2), 520 (C3), . . . for performing simulations are respectively set in accordance with the DB copies 510′ (C1), 510′ (C2), 510′ (C3), . . . .
This construction enables the clients C1, C2, C3, . . . freely to perform simulations using their own DB copies regardless of whether the remaining clients are performing simulations. This construction also enables performing various simulations in parallel with each other.
However, in the data processing system 500 of FIG. 1, not only the DB copies 510′ (C1), 510′ (C2), 510′ (C3), . . . of the DB 510 but also the processing programs 520 (C1) 520 (C2), 520 (C3), . . . are respectively set for the clients C1, C2, and C3 who perform simulations. This construction requires many memories, which complicates the system configuration and makes its management and maintenance difficult.
Since the clients C1, C2, C3, . . . perform simulations using their own DB copies, simulations may be done with different data contents.
Assume that the client C1 completes simulations, and writes the contents of the original DB 510 using the simulation results in order to inform the remaining clients of the results. At this time, the clients C2, C3, . . . execute simulations using their own DB copies 510′ (C2), 510′ (C3), . . . , i.e., the contents of the DB 510 before write.
To solve this problem in the data processing system 500 of FIG. 1, a data processing system 600 shown in FIG. 2 has been proposed.
As shown in FIG. 2, the data processing system 600 comprises one copy (DB copy) 610′ of data in a DB 610, and one processing program (simulation program) 620 for performing simulations. Clients C1, C2, C3, . . . share the DB copy 610′ to execute simulations.
This construction enables the clients C1, C2, C3, . . . to perform simulations with the same data contents without requiring many memories.
However, some of the clients who perform simulations may want to execute simulations with data contents before write.
In this case, the data processing system 500 in FIG. 1 is convenient for a client who wants to perform simulations with data contents before write because even if the contents of the original DB 510 are written by the simulation results of the client C1, the contents of the DB copies 510′ (C2), 510′ (C3), . . . of the clients C2, C3, . . . are not written.
To the contrary, the data processing system 600 in FIG. 2 is inconvenient for a client who wants to perform simulations with data contents before write because if the contents of the copy DB 610′ are written by the simulation results of the client C1, the clients C2, C3, . . . can perform simulations using only the written copy DB 610′.
In other words, clients who perform simulations include various clients: a client who wants to perform simulations with data contents before write (data contents which do not reflect the simulation results of another client), a client who wants to perform simulations with written data contents (data contents which reflect the simulation results of another client), and a client who wants to switch these simulations in accordance with the situation. However, no conventional system can realize a simulation that satisfies the requirements of all clients with a simple construction.